flowbox: don’t select when rubberbanding over nothing
authorErnestas Kulik <ernestask@gnome.org>
Thu, 30 Mar 2017 19:29:57 +0000 (22:29 +0300)
committerErnestas Kulik <ernestask@src.gnome.org>
Fri, 31 Mar 2017 04:24:15 +0000 (07:24 +0300)
When rubberbanding over an empty area, everything is selected on gesture
end, which is a bit counter-intuitive.

https://bugzilla.gnome.org/show_bug.cgi?id=780735

gtk/gtkflowbox.c

index bd73e43d29c5f970e2758dda7ddef235b4edb935..6bb31a06217a8016035ce8731790cb0ae20ce115 100644 (file)
@@ -2996,7 +2996,9 @@ gtk_flow_box_drag_gesture_end (GtkGestureDrag *gesture,
       if (!priv->rubberband_extend && !priv->rubberband_modify)
         gtk_flow_box_unselect_all_internal (box);
 
-      gtk_flow_box_select_all_between (box, priv->rubberband_first, priv->rubberband_last, priv->rubberband_modify);
+      if (priv->rubberband_first && priv->rubberband_last)
+        gtk_flow_box_select_all_between (box, priv->rubberband_first, priv->rubberband_last, priv->rubberband_modify);
+
       gtk_flow_box_stop_rubberband (box);
 
       g_signal_emit (box, signals[SELECTED_CHILDREN_CHANGED], 0);